/**
 * 自定义ajax方法
 *
 * {
 *     type:POST
 *     url:xxxx
 *     data:{}
 *     async: true
 *     success:xxxx
 * }
 *
 * @param datas
 */
function myajax(params){
    $.ajax({
        type: params.type ? params.type : 'GET',
        url: params.url,
        data: params.data ? params.data : {},
        async: params.async != undefined ? params.async : true,
        success: function(data){
            if(data.code == 200){
                //成功
                params.success(data.data);
            } else if (data.code == '300'){
                //未登录
                location.href = data.data;
            }  else {
                //失败
                if (params.error) {
                    params.error(data);
                } else {
                    alert('请求失败信息：' + data.message + "\n" + "详细错误信息：" + data.data);
                }
            }
        },
        dataType: params.dataType ? params.dataType : 'json'
    });
}


/**
 * 插入数据
 */
function insert(formId, url, preFunction){

    if (preFunction) {
        preFunction();
    }

    myajax({
        type: "post",
        url: url,
        data: $("#" + formId).serialize(),
        success: function (data) {
            window.location.reload();
        }
    })
}

//查询语言列表
function list(params){
    myajax({
        url: params.url,
        data: params.data ? params.data : {},
        success: function (data) {
            var bodys = "";
            data.forEach(function (item, index) {
                bodys += "<tr>";
                params.cols.forEach(function (t) {
                    var col = t.col;
                    var type = t.type;
                    if (!type) {
                        bodys += "<td>" + item[col] + "</td>";
                    } else if (type == "img") {
                        bodys += "<td><img style='width: " + (t.width ? t.width : 100) + "px; height: " + (t.height ? t.height : 100) + "px' " +
                            "src='/api/file/get?filename=" + item[col] + "'/></td>";
                    }
                });

                bodys += "<td>";
                if (params.del == undefined || params.del) {
                    bodys += "<button type='button' class='mybutton' onclick='remove(" + item.id + ", \"" + params.delUrl + "\")'>删除</button>";
                }
                bodys += "</td>";
                bodys += "</tr>";
            });

            //加入到body中
            $("#" + (params.formid ? params.formid : "formid") + " tbody").html(bodys);
        }
    })
}

//删除语言
function remove(id, url){
    if(confirm("确定要删除指定的记录吗？")){
        myajax({
            url: url,
            data: {
                id: id
            },
            success: function (data) {
                window.location.reload();
            }
        });
    }
}

//请求语言列表
function languageList(selectId, callback){
    myajax({
        url: "/api/language/list",
        success: function (data) {
            var bodys = "";
            data.forEach(function (item, index) {
                bodys += "<option value='" + item.id + "'>";
                bodys += item.languageName;
                bodys += "</option>";
            });

            //加入select
            $("#" + selectId).html(bodys);

            //回调方法
            if (callback) {
                callback();
            }
        }
    });
}